package com.ym.medical.dao;

import com.ym.medical.domain.entity.DoctorStudioEntity;
import com.ym.medical.domain.param.DoctorStudioQueryParam;
import com.ym.medical.domain.vo.DoctorStudioInfoVo;
import com.ym.medical.domain.vo.DoctorStudioStatusViewVo;
import com.ym.medical.domain.vo.DoctorStudioVo;
import com.ym.medical.domain.vo.FriendWorkDetailOrderVo;
import com.ym.medical.domain.vo.FriendWorkDetailVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 医生工作室Dao接口
 *
 * @author ym
 * @date 2020-08-24
 */
@Repository
public interface DoctorStudioDao extends Mapper<DoctorStudioEntity> {

	/**
	 * 查询工作室相关状态
	 * @param id
	 * @return
	 */
	DoctorStudioStatusViewVo studioRelatedStatusView(Long id);

	/**
	 * 工作室信息查看
	 *
	 * @param doctId
	 * @return
	 */
	DoctorStudioInfoVo queryDoctorStudio(Long doctId);

	List<DoctorStudioVo> friendMedicalStudioList(@Param("keywords") String keywords, @Param("loginId") Long loginId);

	FriendWorkDetailVo friendStudioDetailOrdersCount(Map<String, Object> params);

	List<FriendWorkDetailOrderVo> friendStudioDetailOrders(@Param("dsId") Long dsId, @Param("doctorId") Long doctorId, @Param("status") String status);

	List<DoctorStudioVo> searchQueryStudioList(Long id, String keywords, Long userId);

	/**
	 * 全科医生工作室
	 * @param queryParam
	 * @return
	 */
    List<DoctorStudioVo> generalStudioList(DoctorStudioQueryParam queryParam);
}
